package com.rw.tool.util.string;

import com.rw.tool.util.string.exception.URLEncodeException;

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;

/**
 * URL工具类
 */
public class URLUtil {
    /**
     * 进行url编码
     *
     * @param input 编码字符串
     * @return 编码之后的字符串
     */
    public static String encode(String input) {
        try {
            return URLEncoder.encode(input, StandardCharsets.UTF_8.toString());
        } catch (UnsupportedEncodingException e) {
            throw new URLEncodeException(e);
        }
    }

    /**
     * 进行url解码
     *
     * @param input 编码字符串
     * @return 编码之后的字符串
     */
    public static String decode(String input) {
        try {
            return URLDecoder.decode(input, StandardCharsets.UTF_8.toString());
        } catch (UnsupportedEncodingException e) {
            throw new URLEncodeException(e);
        }
    }
}
